package com.ljw.miniweb.login.controller;

import java.util.List;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;


import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.validation.BindException;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.AbstractCommandController;

import com.ibatis.sqlmap.client.SqlMapClient;
import com.ljw.miniweb.dbconn.MyAppSqlConfig;
import com.ljw.miniweb.login.bean.LoginBean;
import com.ljw.miniweb.login.dao.LoginDao;


/**
name    : LoginController
content : 접속시 사용되는 controller
date    : 2011.02.06
author  : ljw

@author ljw(jwlee1728@gmail.com)
@version 1.0

* @see class_name : "See also"라는 항목을 만들어 해당 클래스와 연결해준다.
* @see class_name#method_name : "See also"라는 항목을 만들어 특정 메소드와 연결해준다.
* @param name description : 특정 메소드가 취하는 파라메터를 기술할 때 사용된다.
* @return description : 특정 메소드의 리턴값을 기술할 때 사용된다.
* @exception class_name : 특정 메소드가 발생시킬 수 있는 에외상황을 기술할 때 사용된다.
*/

public class LoginAbstractCommandController extends AbstractCommandController{
	
	protected final Log logger = LogFactory.getLog(this.getClass());
	private LoginDao loginDao;
	
	
	/*public LoginController(){
		setCommandClass(LoginBean.class);
		setCommandName("loginBean");
	}*/
	
	public void setLoginDao(LoginDao loginDao){
		this.loginDao =loginDao; 
	}

	@Override
	public ModelAndView handle(HttpServletRequest request, HttpServletResponse response, Object command, BindException errors) throws Exception {
		
		//command 객체를 가져온다.
		LoginBean loginBean = (LoginBean)command;
		
		//logging
		logger.info("LoginController - handle");
		//commnad 객체로 입력값이 들어왔는지 확인한다.
		logger.info("loginBean.getUser_id() : " + loginBean.getUser_id());
		logger.info("loginBean.getUser_pass() : " + loginBean.getUser_pass());
		
		//암호가 일치하는지 혹인
		boolean isTrue = loginDao.getUser(loginBean.getUser_id(), loginBean.getUser_pass());
				
		if(isTrue)
			return new ModelAndView("main/main");
		else
			return new ModelAndView("login/index");
	}
	
	
	
	
}